Computers and computer networks connecting such computers are vital components of modern society. Unfortunately, such computer networks are susceptible to attacks from internal and external hostile sources. Intrusion detection systems (IDSs) are used to prevent such attacks. Conventional IDSs operate by analyzing network traffic in terms of the traffic itself. They do not, however, consider the end points of that traffic. End points refer to the originators and recipients of message traffic. Such end points include, for example, clients and the servers. Analysis of end points can provide contextual information about the network such as host addresses and services. By not considering these end points, a vital piece of contextual information about the network is missed. Consequently, a substantial need exists for technologies that provide information about the end points of computer network traffic.
IDSs are less effective than they could be because they do not have contextual information about the computer network they are monitoring. For example, without contextual information, IDSs are susceptible to computer network attacks. Not only does the lack of contextual information make the IDS more susceptible to attack, but it also makes the IDS less efficient. One such inefficiency is that, without contextual information, the IDS may not be able to discern whether or not an attack will cause harm. Attacks can be directed to a particular service running on a target host. Without information about the services running on the target host, an IDS could mistakenly detect an attack even if that host is not running the targeted service. That is, the IDS would cause an alarm even though the attack would be harmless. Such an event is called a false positive. Large numbers of false positives can make it more difficult and expensive to locate genuine attacks that can harm a host on the network.
Some conventional techniques for providing contextual information to IDSs are known. One such technique is for a human to audit each host manually and gather all desired contextual information. This manual method has a number of disadvantages including that it is time consuming, prone to error, and makes maintenance more difficult. One reason for these drawbacks is that networks are dynamic in nature. Host computers in computer networks are added, removed, and reconfigured. If these changes are not meticulously documented, each computer on the network must be revisited periodically to insure that the contextual information is up to date.
Another conventional technique for providing contextual information to an IDS is an automatic discovery system. Conventional automatic discovery systems are active scanning systems that actively probe end hosts on a computer network and perform stimulus response tests on them to find and record vulnerabilities that exist on end hosts. Though not manual, active scanning systems also suffer from several problems. One problem is that active scanning can be destructive to the network. In testing for vulnerabilities, they can cause both routers and servers to malfunction or stop functioning. Another problem is that they may not provide information useful to an IDS because in many instances a one-to-one mapping does not exist between the information an active scanner provides and the information an IDS can use. Another problem is that active scanners only provide a snapshot of the network at the time when the scan is performed. This snapshot is problematic because a host may run a vulnerable service transiently. In such a case, the active scanning may be performed at a time when the vulnerable service is not running. As a result, the active scan would not cause an alarm despite the transient nature of the vulnerability.
While it is advantageous to automatically and passively determine a host configuration, there may be occasions when a passive map does not incorporate information that would be useful. In view of the foregoing, it can be appreciated that a substantial need exists for systems and methods that can advantageously minimize false positives in intrusion detection system by using known network characteristics, such as host and service information about targeted network devices.